"""
3. 字典操作

题目：编写一个Python程序，创建一个包含3对键值对的字典，然后查询并输出指定的键对应的值，
如果键不存在，则输出“键不存在”
提示：
    1. 使用{}创建字典。
    2. 使用input()函数获取用户输入的键。
    3. 使用字典的get()方法查询指定的键对应的值。
    4. 使用成员运算符in判断键是否存在。例如：'name' in dict。
"""


def dictionary_operations():
    # 创建示例字典
    student_info = {
        "姓名": "张三",
        "年龄": 20,
        "专业": "计算机科学"
    }

    print("学生信息字典已创建，包含以下键：")
    print(", ".join(f"'{key}'" for key in student_info.keys()))

    while True:
        try:
            # 获取用户输入
            print("\n请输入要查询的键（输入'退出'结束程序）")
            key = input("请输入: ").strip()

            # 检查是否退出
            if key == '退出':
                print("程序已结束")
                break

            # 检查键是否为空
            if not key:
                print("错误：输入不能为空！")
                continue

            # 方法1：使用in运算符检查键是否存在
            if key in student_info:
                print(f"\n使用in运算符查询结果:")
                print(f"键 '{key}' 对应的值为: {student_info[key]}")
            else:
                print(f"\n键 '{key}' 不存在于字典中")

            # 方法2：使用get()方法查询（展示不同的查询方法）
            print(f"\n使用get()方法查询结果:")
            result = student_info.get(key, "键不存在")
            print(f"键 '{key}' 对应的值为: {result}")

        except Exception as e:
            print(f"发生错误: {str(e)}")


def print_dict_info(dictionary):
    """打印字典的详细信息"""
    print("\n字典的详细信息:")
    print("键值对数量:", len(dictionary))
    print("所有的键:", list(dictionary.keys()))
    print("所有的值:", list(dictionary.values()))
    print("所有的键值对:", list(dictionary.items()))


if __name__ == "__main__":
    dictionary_operations()